Урок 8 – Операторы

Сердце любого алгоритма – это предпринимаемые действия. Эти действия определяются операторами. Операторы бывают простые и сложные (или структурные).

Пока мы с вами в основном пользовались только простыми операторами, и давайте в этом уроке рассмотрим их подробней.

Сами простые операторы делятся на: оператор присваивания, оператор процедуры, оператор безусловного перехода (GOTO) и пустой оператор.

Оператор присваивания задает значение переменной и имеет вид:

Имя переменной := выражение;

Двоеточие и равно (“:=”) читается как присвоить значение, и оно же является этим самым оператором присвоения.

С именем переменной мы уже знакомы и думаю подробно о нем говорить нет смысла. А что с выражениями? Выражение – это конструкция, возвращающая значение некоторого типа. Выражение может быть арифметическим (т.е. переменной присваивается число), логическим (о нем мы поговорим позже) и символьным (переменной присваивается буква или строка).

Также выражения могут быть простыми и сложными. Простые выражения – это когда мы присваиваем переменной просто значение или другую переменную, типа a:=5; или a:=b. А сложные выражения – это когда мы используем уже с операндами знаки операции или(и) обращаемся к функциям.

В классическом Pascal оператор присваивания только один, который мы с вами выше рассмотрели, но в PascalABC.Net есть еще 4 оператора присваивания, и так как они есть и в других языках программирования, давайте их изучим.

А для этого давайте создадим программу assignmentOperators (т.е. операторы присваивания), создадим переменную и присвоим ей значение.

Первый из 4 новый операторов мы рассмотрим “+=”. Данный оператор просто прибавляет к значению переменной выражение, а не заменяет, как это было с оператором “:=”.

Т.е. по сути запись i+=5; эквивалентно i:=i+5;.

Думаю, теперь остальные 3 оператора нам изучить вообще не составляет никакого труда: это “-=” (т.е. отнимает от значения), “*=” (умножает значение переменной на выражение), “/=” (делит значение переменной на выражение).

Вот и все с операторами присваивания. Идем дальше.

Следующим оператором у нас идет оператор вызова процедуры. Данным оператором мы уже пользовались – с помощью него мы можем вызвать процедуру или функцию. Сперва мы пишем имя процедуры, затем скобки (если у этой процедуры или функции есть параметры) и точку с запятой. Здесь все просто. Переходим к следующему оператору.

Оператор безусловного перехода Goto переносит выполнение программы к оператору, помеченному меткой. Имеет следующий вид:

goto метка;

Чтобы пометить оператор меткой, необходимо перед оператором указать метку с последующим двоеточием. Сейчас будет понятней. Создадим программу goto и также сразу в ней создадим переменную.

Теперь во втором разделе познакомимся с разделом описания меток, так как для оператора goto мы должны создать метку. Там все просто, сперва пишите ключевое слова label, а затем через пробел ее название. Название метки практически идентично названием переменной, только вы можете пользоваться также только цифрами, т.е. вы можете назвать метку просто 1 или 845.

Создадим метку с именем over_here (т.е. “сюда”). Здесь я решил для разделения слов воспользоваться нижним подчеркиванием.

Далее в третьем разделе присваиваем значение переменной.

Далее пишем оператор goto и название метки.

Теперь присвоим переменной другое значение.

И отметим меткой оператор Write().

Когда мы запустим программу и она дойдет до оператора goto, то компилятор сразу же перескочит на выполнение оператора помеченного меткой over_here, и пропустит код до той метки. Т.е. в выводе у нас будет число 5.

Это, конечно не самый лучший вариант для использование goto, который я написал, но главное вы поняли как он работает. А сейчас вообще не рекомендуют пользоваться этим оператором, так как есть более лучшие структурные операторы, которые мы ского изучим.

И последний простой оператор – это пустой оператор. Пустой оператор не включает никаких символов, не выполняет никаких действий и используется в двух случаях:

  1. Как вы знаете, знак “;” в разделе операторов разделяет эти операторы друг от друга, но после последнего оператора и словом end на самом деле не должно быть точки с запятой.

    И если вы поставите двоеточие и точку после Write(), то говорят, что после оператора Write() идет пустой оператор, а затем уже слово end.
  2. Если вы просто хотите пропустить несколько операторов с помощью оператора goto.

Как видите, в этом примере метка a указывает на пустой оператор.

На этом с простыми операторами все, а на следующем уроке мы уже рассмотрим структурные операторы и структурный стиль программирования.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *